/* adVideo 广告播放器上下文控制 */
export default {
	data() {
		return {
			// 创建并返回 adVideo 上下文
			//adVideoContext:null,
			ad_timeUpdate:[{
				currentTime: 0,//当前时长(当前进度/时间)
				duration: 0,//总时长(总进度/时间)
			}],
			// 广告倒计时时间
			ZeroCount: 0,
		}
	},
	async mounted(){
		/* 已废弃使用两个video上下文 */
		
		// 创建广告播放器上下文已迁移至有广告视频的时候再创建
		//this.adVideoContext = uni.createVideoContext('adVideo',this)
	},
	watch: {
		// 监听 adVideo广告视频 是否播放完毕? 
		ad_timeUpdate:{
			async handler(newUp,oldUp){
				//console.log(this.ref_type)
				// adVideo 广告视频 
				if (this.ref_type == 'ad'){
					// 当前时长（当前播放进度/时间） 2021-1220新增 Math.round() 四舍五入取整
					let ad_curr_time =  Math.round(newUp[0].currentTime)//当前时长 用四舍五入
					// 总时长（总时间）
					let ad_dura_time = Math.floor(newUp[0].duration)//总时长 用向下取整
					
					// 写入当前广告倒计时时间
					this.ZeroCount = ad_dura_time - ad_curr_time
					
					//console.log(ad_curr_time,ad_dura_time)
					
					//console.log('广告视频')
					
					//console.log('广告倒计时')
					//console.log(this.ZeroCount)

					if (ad_curr_time == Number(ad_dura_time - 1)){
						// 3.5.1 版本新增 修复如下
						// 修复了上个版本存在的问题，当广告视频播放完毕后，会一直重复回调下一集的事件，原因就是没有重置video的总时长造成的。
						// 重置video的总时长为0（在下一次播放视频的时候生效）
						this.duration = 0 // 重置 指定视频时长，单位为秒（s）0表示不限制总时长
					}
					
					// 如果广告视频播放完毕，则设置正常视频播放
					if (ad_curr_time == ad_dura_time){
						console.log('广告视频播放结束')
						// 播放当前索引的 正常视频
						this.bofang_myVideo()
					}
				}
			},
			immediate: true,
			deep: true,
		}
	},
	methods:{
		Set_ad_timeUpdate(event){
			// 当前时长(当前进度)
			this.ad_timeUpdate[0].currentTime = event.detail.currentTime
			// 总时长(总进度)
			this.ad_timeUpdate[0].duration = event.detail.duration
		},
		
		
		/* -------------------------------
		 *  监听广告视频的UI控制面板点击回调
		 * -------------------------------
		 */
		
		// 是否全屏
		adChangeFull(e){
			if (e.isFull == true){
				this.goFullScreen()
			}else {
				this.exitFullScreen()
			}
		},
		// 是否静音
		adChangeMuted(e){
			this.video_muted = e.isMuted
		},
		// 是否播放/暂停
		adChangeBofang(e){
			if (e.isPlay == true){
				this.play()
			}else {
				this.pause()
			}
		},
		// 其他点击事件
		adChange(e){
			if (e.Events == 'adpage'){
				// 点击了广告视频的了解详情按钮
				let e = {
					Tap:'openADpages',//点击类型 (ps:用户点击了视频广告的“了解详情”)
					msg:'点击了广告视频的了解详情按钮'
				}
				this.$emit("changeAdVideo",e)
				// 暂停视频
				this.pause()
			} else 
			
			if (e.Events == 'gengduo'){
				// 点击了广告视频的更多按钮 （图标是3个点）
				let e = {
					Tap:'gengduoTap',//点击类型 (ps:用户点击了视频广告的“更多”icon图标按钮)
					msg:'点击了广告视频的更多按钮 （图标是3个点）'
				}
				this.$emit("changeAdVideo",e)
			} else
			
			if (e.Events == 'close_advideo'){
			    // 点击了广告视频的 vip可关闭广告 按钮
				let e = {
					Tap:'HiedAdVideo',//点击类型 (ps:非VIP用户点击了关闭广告)
					msg:'非VIP用户点击了关闭广告'
				}
				this.$emit("changeAdVideo",e)
			} else
			
			if (e.Events == 'Back'){
				// 回调返回上一页事件
				this.$emit("changeBack")
			}
		}
	}
}